home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS01.ADF / Text / Speed < prev    next >
Internet Message Format  |  1985-12-04  |  4KB

  1. From: bobp@amiga.UUCP (Robert S. Pariseau)
  2. Subject: Memory speed
  3. Date: 2 Nov 85 23:08:18 GMT
  4. Organization: Commodore-Amiga Inc., 983 University Ave #D, Los Gatos CA 95030
  5.  
  6.  
  7. This is a (slightly updated) copy of a message I posted on BIX a while back.
  8.  
  9. The 68000 CPU used in the Amiga has about a 50% duty cycle.  By that I mean 
  10. that it spends about half its time on the memory bus and the other half doing 
  11. internal processing.
  12.  
  13. The quoted clock figures for the Amiga are stated with respect to the CPU.  
  14. In fact, the Amiga uses an internal clock with twice that speed (yielding 
  15. ~14.4MHz).  The custom chips do 16 bit transfers in one of those cycles.  
  16.  
  17. That means that the custom chips can do one heck of a lot of transfers in the 
  18. "off" cycles where the 68000 is twiddling its thumbs internally.  The bus 
  19. arbitration is handled, again, within the custom chips.  Each of the 25DMA 
  20. channels has its own slots in the timing which let it get its work done 
  21. without interfering with the 68000.
  22.  
  23. What all this boils down to is that you can have a 320x400x4 display with 4 
  24. audio channels going, the disk going, the sprites going, and the 68000 going 
  25. all at the same time.  The 68000 will see NO CONTENTION! NONE!  It doesn't 
  26. even think those DMA channels are on the bus!
  27.  
  28. The blitter is a cycle stealing device.  It will use whatever cycles are not 
  29. taken up by the other DMA channels and it will use the cycles normally 
  30. reserved for the CPU.  In normal blitter operation, it is set up to yield 
  31. whenever the CPU tries to access memory on that bus. This means that the CPU 
  32. can get in to process interrupts (for instance) even if the blitter is in the 
  33. midst of a large transfer. 
  34.  
  35. The upshot is that blitter ops happen as fast as the memory can go, with 16 
  36. bit transfers continuously going at twice the memory bandwidth of the 68000 
  37. not even including any 68000 processing time that would be involved if you 
  38. used it instead of the blitter.  This is why the machine really screams for 
  39. blitter supported operations such as area-move, area-fill, and line draw.
  40.  
  41. The display coprocessor is also a cycle stealing device.  It allows 
  42. raster-beam synchronized control of ALL the custom chip functions of the 
  43. machine WITHOUT requiring the 68000 to take the time to perform an interrupt 
  44. context switch.  This is why we've got enough horsepower to slide screens 
  45. around in real time while animation and graphics rendering is going on in the 
  46. screens.
  47.  
  48. It is possible to set up the display such that the 68000 sees contention.  
  49. The worst case is a four plane high-res image, where the video bandwidth 
  50. blocks the 68000 except during horizontal and vertical blanking intervals.
  51.  
  52. Note however that the 68000 can only see contention on the internal RAM. 
  53. Never on the Writeable Control Store RAM or on ANY external RAM (this is why 
  54. the external RAM is referred to as "fast" RAM).
  55.  
  56. You can avoid contention by going to fewer bit planes -- for instance 
  57. Workbench and the CLI use two planes of high-res yielding no (that's 0!) 
  58. contention -- or by reducing the vertical size of your image such as by using 
  59. the Intuition screens to make most of your display be at some other 
  60. resolution.
  61.  
  62. Note that Interlace is not an issue here.  Yes there is twice as much data to 
  63. display, but remember that the machine takes 2 frames to display it.
  64.  
  65. The next rev of the hardware manual will include detailed info on the DMA 
  66. priority and time-slot allocations for all you guys who want to run right at 
  67. the edge.
  68.  
  69. The only (charitable) explanation I can come up with for someone to say that 
  70. the Amiga custom chips slow down the 68000 by 70% in normal operation is that 
  71. someone misread the DMA allocation chart showing the allocation of DMA 
  72. channels to the off cycles and assumed that the 68000 was in fact capable of 
  73. using those cycles.  An 8MHz 68000 can't.  Anybody got a 16MHz 68000 they'd 
  74. like to loan me?
  75.